package com.gxjtkyy.datadistributer.writer.rdbms.util;

import java.util.List;
import java.util.Map;

public interface SqlTemplate {
   String getCountSql(String schema, String table, List<String> pkColumns);

   String getSelectSql(String schema, String table, List<String> pkColumns, List<String> columns);

   String getInsertSql(String schema, String table, List<String> pkColumns, List<String> columns, Map<String, String> columnMap);

   String getUpdateSql(String schema, String table, List<String> pkColumns, List<String> columns);

   String getDeleteSql(String schema, String table, List<String> pkColumns);

   String getMergeSql(String schema, String table, List<String> pkColumns, List<String> columns, List<String> updateColumns, Map<String, String> comparableColumns, boolean insertable, boolean updateTable, Map<String, String> columnMa);

   String getSaveOrUpdateSql(String schema, String table, List<String> pkColumns, List<String> columns, List<String> updateColumns, Map<String, String> comparableColumns, boolean insertable, boolean updateTable, Map<String, String> columnMa);

}
